在使用 OpenCV 套件時,最重要的第一步就是讀取資料,而資料來源的格式可以是圖片(Image),影片串流(Video Stream)或是攝影機串流(Camera Stream),本文將簡單介紹如何使用 OpenCV 套件讀取圖片。
範例程式(Python):
import cv2
pic_location = '../images/yourpic.jpg' # 圖片位址
flag = cv2.IMREAD_GRAYSCALE # 要求讀取圖片的方式,IMREAD_GRAYSCALE 代表以 grayscale mode 讀取,也就是說讀出來的圖片顯示時會是灰階的
try:
img = cv2.imread(pic_location, flag) # 若無填入 flag, 則會使用預設的 IMREAD_COLOR
print(f"img: {img}") # 將 img 打印出來,可以發現是 np array 格式
cv2.imshow('image', img) # 將讀取到的 img 展示在視窗上
# 等待用戶按下任意鍵 關閉視窗
if cv2.waitKey(0):
print(f'監聽到用戶按下按下鍵盤')
cv2.destroyAllWindows() # 關閉所有 OpenCV 建立的視窗
except Exception as ex:
print(f"An unexpected error occurred: {ex}")
讀取結果如下:
Note:
if cv2.waitKey(10000):
print(f'監聽到用戶按下按下鍵盤')
則10秒內沒按下鍵盤會自動執行下一行的 destroyAllWindows() 方法關掉視窗,10秒內按下的話則提前執行destroyAllWindows() 方法。